/**
 * Logger.h
 */
#include <iostream>
#include <fstream>
#include <vector>
class Logger
{
public:
	const std::string kLogLevelDebug;
	const std::string kLogLevelInfo;
	const std::string kLogLevelError;
	static Logger& instance();
	// Logs a single message at the given log level
	void log(const std::string& inMessage, const std::string& inLogLevel);
	// Logs a vector of messages at the given log level
	void log(const std::vector<std::string>& inMessages,
					const std::string& inLogLevel);
protected:
	static Logger sInstance;
private:
	const char* const mLogFileName;
	std::ofstream mOutputStream;
	Logger(); //make constructor private
	~Logger();
};
